/**
  ******************************************************************************
  * @文件名称 : task_beep.c
  * @摘要 : 
  * @创建日期 : Jul 23, 2024
  * @创建者：citunhk
  ******************************************************************************
  * @使用说明
  *
  *  
  ******************************************************************************
  */

/* 声明包含头文件 -----------------------------------------------------------*/
#include "../Inc/task_beep.h"
#include "../../../03_FML/lvgl/src/hal/lv_hal_indev.h"
#include "../../04_DRI/BUZZER/buzzer.h"
#include "../Res/Inc/data_public.h"
#include "../Inc/task_HMI.h"
/* 声明私有类型定义---------------------------------------------------------*/

/* 声明私有变量 -------------------------------------------------------------*/
static uint16_t lockScreenTime;		// 锁屏时间计数
static uint8_t startLockEnable;     // 重新计数使能
/* 声明私有常量 -------------------------------------------------------------*/

/* 声明私有宏定义 -----------------------------------------------------------*/

/* 声明私有函数 -------------------------------------------------------------*/
extern lv_indev_t * indev_touchpad;
/**
  * @brief  蜂鸣器
  * @param  无
  * @retval 无
  */
int bll_beep(struct task_pcb *task)
{
	if (DA.breathPlate == 1)
	{
		if (startLockEnable == 0)	// 锁屏计数
		{
			lockScreenTime++;
		}
		if (lockScreenTime == 50 * DA.breathTime + 1500)  // 初始值30秒
		{
			lockScreenTime = 0;
			startLockEnable = 1;
		}
		if (startLockEnable == 1)	// 切换待机界面
		{
			startLockEnable = 2;
			disp.New = DIF_STAN;
		}
	}
	static uint8_t __last_touch_state = 0;
	if(indev_touchpad->proc.state == LV_INDEV_STATE_PRESSED)
	{
		if(__last_touch_state == 0)
		{
			__last_touch_state = 1;
			BUZZER_ON;  /* 打开蜂鸣器 */
			lockScreenTime = 0;
			startLockEnable = 0;
//			UI_delete_init();  //删除初始化界面
//			UI_create_info();  //创建消息界面
//			disp.New = DIF_MAIN;
		}
		else
			BUZZER_OFF;  /* 关闭蜂鸣器 */
	}
	else if(indev_touchpad->proc.state == LV_INDEV_STATE_RELEASED)
	{
		if(__last_touch_state == 1)
		{
			__last_touch_state = 0;
			BUZZER_OFF;  /* 关闭蜂鸣器 */
		}
	}
	return 1;
}

